﻿using System.Collections.Generic;
using Crawler.Domain;
using Crawler.Domain.DataEntities;
using Crawler.Domain.DataEntities.Crawling;
using Crawler.Domain.DataEntities.Extracted;

namespace Crawler.DomainServices.DataServices
{
	public interface ISourceContentRepository
	{
		void Save(RawPageCrawlInfo data);
		IEnumerable<RawPageCrawlInfo> GetProccessablePages(CrawlingSession crawlingSession,ProccessablePageType pageType);
		int CountByUrl(CrawlingSession session, string url);
		int GetProccessablesPagesCount(CrawlingSession session, ProccessablePageType pageType, int sizePage, bool proccessed = false);
		IEnumerable<RawPageCrawlInfo> GetProccessablePage(ProccessablePageType pageType, int pageNum, CrawlingSession session, int sizePage, bool proccessed = false);
		RawPageCrawlInfo GetProccessableContentByUrl(string sessionId, string url);
	}
}